package com.zbkj.dal.entity.fund;

import lombok.Data;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author JinXinyu
 * @date 2024-03-03 18:06:20
 */
@Data
@TableName("eb_user_withdraw_record")
public class UserWithdrawRecord implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    @TableField("id")
    private Integer id;

    /**
     * 用户id
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 资金账户id
     */
    @TableField("fund_account_id")
    private Integer fundAccountId;

    /**
     * 资金账户号
     */
    @TableField("fund_account")
    private String fundAccount;

    /**
     * 提现单号
     */
    @TableField("withdraw_no")
    private String withdrawNo;

    /**
     * 绑定银行账号
     */
    @TableField("bankcard_number")
    private String bankcardNumber;

    /**
     * 银行卡账户名称
     */
    @TableField("bank_account_name")
    private String bankAccountName;

    /**
     * 银行编码
     */
    @TableField("bank_code")
    private String bankCode;

    /**
     * 银行名称
     */
    @TableField("bank_name")
    private String bankName;

    /**
     * 订单总金额
     */
    @TableField("withdraw_amount")
    private BigDecimal withdrawAmount;

    /**
     * 账务日期
     */
    @TableField("bill_date")
    private Integer billDate;

    /**
     * 提现交易状态
     *
     * @see com.zbkj.dal.base.enums.WithdrawStatusEnums
     */
    @TableField("status")
    private String status;

    /**
     * 完成时间
     */
    @TableField("finish_time")
    private LocalDateTime finishTime;

    /**
     * 支付方式
     */
    @TableField("pay_type")
    private String payType;

    /**
     * 凭证路径
     */
    @TableField("certificate_path")
    private String certificatePath;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 操作人备注
     */
    @TableField("operator_remark")
    private String operatorRemark;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 操作人
     */
    @TableField("operator")
    private String operator;

    /**
     * 是否删除
     */
    @TableField("is_deleted")
    private Integer deleted;

}
